package com.shangma.poi;

import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;


import java.io.FileOutputStream;
import java.io.IOException;

public class ExcelOutput {
    public static void main(String[] args) throws IOException {
        // 1.创建工作簿
        Workbook workbook = new XSSFWorkbook();
        // 2.创建页
        Sheet sheet = workbook.createSheet("富光水杯");
        // 3.创建行
        Row row = sheet.createRow(3);
        // 创建cell的样式  通过工作簿对象创建
        CellStyle cellStyle = workbook.createCellStyle();
        // 获取设置文字样式的对象
        Font font = workbook.createFont();
        // 设置文字加粗
        font.setBold(true);
        // 设置文字大小
        font.setFontHeightInPoints((short) 10);

        // 给cellStyle设置样式
        cellStyle.setFont(font);


        // 设置上边框
        cellStyle.setBorderTop(BorderStyle.DASH_DOT);
        // 设置下边框
        cellStyle.setBorderBottom(BorderStyle.DASH_DOT_DOT);
        // 设置左边框
        cellStyle.setBorderLeft(BorderStyle.DASHED);
        // 设置右边框
        cellStyle.setBorderRight(BorderStyle.DOUBLE);

        // 设置文字水平居中
        cellStyle.setAlignment(HorizontalAlignment.CENTER);
        // 设置文字垂直居中
        cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);

        // 设置行高
        row.setHeightInPoints(40);
        // 设置单元格的宽度
        sheet.setColumnWidth(3,50* 200);

        // 4.创建单元格
        Cell cell = row.createCell(2);
        // 设定值
        cell.setCellValue("保温杯");
        // 设置样式
        cell.setCellStyle(cellStyle);

        // 5.输出到本地
        FileOutputStream fos = new FileOutputStream("E:\\test.xlsx");
        workbook.write(fos);
        fos.close();
        workbook.close();

    }





















    private static void ouputBaseExcel() throws IOException {
        // 生成最基本的excel
        // 1.创建工作簿
        Workbook workbook = new XSSFWorkbook();
        // 1.1创建表格中的页
        Sheet sheet = workbook.createSheet("员工管理");
        // 1.2创建表格中的行  参数放入行的索引  从0开始
        Row row = sheet.createRow(0);
        // 1.3创建单元格
        // 参数表示索引  表示这一行的第几个单元格 索引从0开始
        Cell cell = row.createCell(2);
        cell.setCellValue("谷丰硕");
        // 2.把工作簿输出到本地
        FileOutputStream fos = new FileOutputStream("E:\\demo.xlsx");
        workbook.write(fos);
        // 3.关闭资源
        fos.close();
        workbook.close();
    }
}
